package leetCode;

/**
 * 58. 最后一个单词的长度
 * 字符串
 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

 示例 1：
 输入：s = "Hello World"
 输出：5
 解释：最后一个单词是“World”，长度为5。

 示例 2：
 输入：s = "   fly me   to   the moon  "
 输出：4
 解释：最后一个单词是“moon”，长度为4。

 示例 3：
 输入：s = "luffy is still joyboy"
 输出：6
 解释：最后一个单词是长度为6的“joyboy”。

 提示：
 1 <= s.length <= 104
 s 仅有英文字母和空格 ' ' 组成
 s 中至少存在一个单词
 */
public class LengthOfLastWord {
    public static void main(String[] args) {
        System.out.println(lengthOfLastWord("   fly me   to   the moon  "));
    }

    //for循环逆序判断是否为空，100/23
    public static int lengthOfLastWordMe(String s) {
        String[] strs = s.split(" ");
        for (int i = 1;i < strs.length;i++) {
            if (!" ".equals(strs[strs.length - i])) {
                return strs[strs.length-i].length();
            }
        }
        return strs[strs.length-1].length();
    }

    //API战士，100/74
    public static int lengthOfLastWord(String s) {
        s = s.trim();
        return s.length() - s.lastIndexOf(" ")-1;
    }
}
